December 19, 2021
18일날 코딩테스트를 마지막으로 프리코스 + 코딩테스트 절차가 끝났습니다.
이번 포스팅은 프리코스와 코딩테스트에 대한 후기
입니다.
프리코스를 진행하면서 어떻게 학습했는지와 얼마나 성장했는 지에 대해 회고를 해보았습니다.
1. 블로그에 글을 작성하면서 진행했던 미션에 대해서 꼭 회고를 하려고 했습니다.
미션마다 설계에 대한 글을 작성하면서 설계해본 것을 한 번 더 체크하였고 미션에 대한 회고를 통해서 작성했던 코드들과 미션에서 학습했던 것을 다시 한번 복습할 수 있었습니다.
2. 주어진 미션 요구사항을 철저히 지키기 위해 노력했습니다.
프리코스에서 주어진 여러 가지 제약조건들을 지키려고 노력을 했고 스스로 제약을 주면서 더 많이 성장할 수 있었습니다.
3. 다른 사람들에게서 많이 배우려고 노력했습니다.
먼저, 미션을 스스로의 힘으로 구현한 후 다른 분들(+이전 기수분들)의 코드를 참고하면서 부족한 부분을 보충했습니다. 스스로 많이 부족하다는 사실을 인지하고 모든 것들로부터 학습하려고 했습니다.
1. Javascript를 더 능숙하게 사용할 수 있게 되었습니다.
미션을 수행하면서 Javascript 자체의 메서드, 언어의 특징들에 대해서 많이 배울 수 있었습니다. 특히, class와 벽을 세우고 있었는데 제약을 통해서 이번 기회에 class에 대해서 많이 배울 수 있었습니다.
2. 완벽하지는 않지만, MVC 패턴으로 프로그램을 구현할 수 있게 되었습니다.
MVC 패턴을 이용해서 프로그램을 구현할 수 있게 되었습니다. 앞으로, 어떠한 새로운 개념이더라도 배워서 적용할 수 있는 자신감을 얻게 되었습니다.
3. 미션 기반 학습법을 알게 되었습니다.
미션 기반 학습법이 저와 잘 맞는 공부 스타일인 것을 알 수 있었습니다.(이번 프리코스의 최대 수확이 아닐까 싶습니다.) 앞으로, 개발 공부를 할 때 미션 기반 학습법을 사용해서 최대의 효율로 공부해 보려 합니다.
생생하게 후기를 적고 싶어서 섹션을 나누지 않고 줄글로 계속 이어서 작성해보겠습니다.
프리코스가 끝난 후, 15일부터 17일까지 최종 코딩테스트를 대비하기 위해 3주동안 진행했던 미션들을 다시 처음부터 끝까지 제한된 시간안에 수행하는 연습을 하였습니다. 최종 코딩테스트가 5시간이라는 제한 시간이 있기 때문에 1주 차부터 3주 차까지의 3개의 미션들을 모두 각각 5시간내에 수행해보려고 노력했었습니다. 1주차 미션은 3개의 미션중에 제일 쉬운 난이도였기 때문에 2시간이면 미션을 수행할 수 있었습니다. 하지만, 2주 차와 3주 차 미션은 5시간내에 미션을 수행하지 못하였습니다. 그래서 구현을 하는 과정 중에서 어떤 부분이 시간이 제일 많이 걸리는 지를 파악하여 중점적으로 연습
을 하였습니다. 중점적으로 연습한 부분들 중 일부를 말씀드리면 변수명 짓기
, 입력값 validation하기
, validation을 위한 helper 함수 작성하기
등입니다. 이후, 최종 코딩테스트 전날까지 우테코에서 필요로하는 요구사항들, 코드 컨벤션, 공통 피드백등등을 마지막으로 점검해보면서 최종 코딩테스트를 준비했습니다.
추가적으로 우테코 3기의 최종 코딩테스트를 한 번 살펴보았습니다. 특징을 살펴보니 다익스트라 알고리즘을 사용할 수 있도록 제공해준 라이브러리를 빠르게 이해하고 적용해서 프로그램을 만드는 것이 관건이였던 코딩테스트였던 것 같습니다. 이번 최종 코딩테스트에도 비슷한 유형이 나올 수도 있겠다는 생각이 들어서 이전 기수의 최종 코딩테스트도 한 번 연습
해보았습니다. 생각보다 다익스트라 알고리즘 라이브러리를 사용하는 법과 역들의 정보와 서로의 관계에 대한 정보를 담는 자료구조를 적절히 설정하는 것에서 어려움을 느꼈습니다. 해당 과정을 통해서 어떻게 자료구조를 설정하는 것이 프로그램을 구현할 때 좋을 지에 대해서 미리 생각해보는 시간을 가질 수 있었습니다.
대망의 최종 코딩테스트 당일 날에는 최상의 컨디션을 유지하려고 많은 노력을 하였습니다. 전 날에 빨리 잠들려고 노력하였고 아침에 일어나서 미리 손을 풀어놓았습니다. 오후 1시 시험이 시작되었습니다. 최종 코딩테스트의 문제 유형이 예상했던 것과는 많이 달랐습니다. 이전 기수처럼 하나의 탭만 구현하는 미션일줄 알았는데 이번에는 두 개의 탭을 구현하는 미션이었습니다. 탭이 두 개이니 훨씬 더 많은 작업이 필요하겠다고 생각해서 계획했던 것보다 초반에 더 빨리 작업을 하기위해 서둘렀습니다.
마음이 급하다보니, 실수를 하게 되었습니다.
미션의 주제는 팀을 매칭해주는 프로그램을 만드는 것이었고 프론트엔드와 백엔드 두 가지 코스로 나눠줘야했었습니다. 하지만, 해당 부분을 놓치고 하나의 코스로만 설계하여 프로그램을 만들고 있었습니다. 시험 시간이 2시간 경과했을 때 해당 사실을 알게 되었고 이때부터 시험이 끝날때까지 정신없이 코딩을 했던 것 같습니다. 처음부터 다시 설계를 해서 프로그램을 만들어야 했기 떄문에 시간이 많이 촉박했었고 시간이 부족할 수도 있겠다는 생각에 코딩이 마음대로 되지 않았습니다.
하지만, 신기하게도 3주동안 미션들을 수행하면서 키워온 실력과 습관이 있어서 그런지
생각보다 컨벤션이나 요구사항을 잘 지켜서 프로그램을 만들 수 있었습니다. 만족스럽지는 않지만 그래도 어느 정도는 미션을 구현할 수 있었습니다. 이번 최종 코딩테스트를 하면서 긴장하지 않는 게 중요한 것을 한 번 더 알게 되는 경험이었습니다.
최종 코딩테스트를 마치고 나니 아쉬운 것들이 많이 눈에 보이기 시작했습니다. 그래서 시험이 끝나고 오늘까지 부족했던 부분들을 보충해가며 지내고 있습니다.